<?php

// 使用函数完成期末任务
//
/**
 * 获得指定仓库的提交信息
 * @param  string $url 仓库地址，默认每次200个
 * @return array      以数组形式返回提交的信息
 */

function getCommit($url = 'https://gitee.com/api/v5/repos/yangjh/php2018/commits?page=1&per_page=200') {
	// 初始化curl工具

	$ch = curl_init($url);

	// 进行必要的配置
	curl_setopt($ch, CURLOPT_HEADER, 0);
	// 取消curl显示返回内容
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	// 执行curl
	$data = curl_exec($ch);
	// 对data进行解码，将其从json格式转化为php数组
	$data = json_decode($data, true);

// // var_dump(count($data));
	// 	echo '<pre>';
	// 	var_dump($data[0]['commit']['commiter']['date']);
	// 	foreach ($data as $key => $value) {
	// 		var_dump($data[$key]['commit']['commiter']['date']);
	// 	}
	// 	echo '</pre>';

// 	echo '我的仓库总共提交了' . count($data) . '次。';

	curl_close($ch);
	return $data;
}

// 生成作业信息报告
/**
 * 生成作业总报告
 * @param  array $data 全部提交信息
 * @return void
 */
function report(array $data) {
	echo '我的作业地址是：' . '<br>';
	echo '提交次数：' . count($data);
}

// 使用函数输出每周作业提交次数
function getCommitByWeek(array $data) {

// 提取每一次作业的提交时间
	$commitDate = array();
	foreach ($data as $key => $value) {
		$commitDate[$key] = date('Y-m-d', strtotime($data[$key]['commit']['commiter']['date']));
	}
	return $commitDate;
}

// 取得指定仓库的提交信息
$data = getCommit('https://gitee.com/api/v5/repos/yangjh/php2018/commits?page=1&per_page=200');
report($data);
$commitDate = getCommitByWeek($data);
// echo date('Y-m-d', strtotime('2018-05-23T18:03:16+08:00'));
var_dump($commitDate);
?>
